
// pending
const Promise = require('./promise.js')
const promise = new Promise((resolve,reject)=>{
    // 异步操作 成功 resolve   失败 reject
    console.log('runner')
    //  throw new Error('错误')

    setTimeout(()=>{
        resolve('有钱了')
    },1000)
    //  reject('破产了')
})

promise.then((val)=>{
    console.log('成功1',val)
},(reason)=>{
    console.log('失败',reason)
})
promise.then((val)=>{
    console.log('成功2',val)
},(reason)=>{
    console.log('失败',reason)
})
promise.then((val)=>{
    console.log('成功3',val)
},(reason)=>{
    console.log('失败',reason)
})

// 1.每一个promise都有三个状态 pending 等待态  fulfilled成功态  rejected   失败态
// 2.每一promise对象为了处理异步都提供一个then方法 （成功回调，失败的回调）
// 3.创建promise的时候会立刻执行“执行器”
// 4.一旦状态发生变化后，状态就 不能在更改了 pending->fullied   pending -> rejected 
// 错误的fulfilled -> rejected   rejected-> fulfilled
// 5.如果执行器出错，则会转变成失败态